import axios from '@/libs/api.request.js';
import config from '@/config';

const baseURL = '/api/blog/'


/**
 * @description 分页获取博客文章列表
 * @param { Number } index 当前页
 * @param { Number } size  页大小
 */
export const getBlogsByPage = ({ index }) => {
  return axios.request({
    url: 'getBlogsByPage',
    baseURL,
    params: {
      index,
      size: config.pageSize
    },
    method: 'get'
  })
} 

/**
 * @description 文章点赞
 * @param { Number } id 文章ID
 */
export const like = params => {
  return axios.request({
    url: 'like',
    baseURL,
    params,
    method: 'post'
  })
}

/**
 * @description 模糊搜索文章（内容、标题）
 * @param { String } value 搜索的内容
 */
export const getBlogByLike = ({ value, index }) => {
  return axios.request({
    url: 'getBlogByLike',
    baseURL,
    method: 'get',
    params: {
      value,
      index,
      size: config.pageSize
    }
  })
}


/**
 * @description 根据标签查找文章
 * @param { String } tagName 标签名
 * @param { Number } index 当前页
 * @param { Number } size 页大小
 */
export const getBlogByTagName = ({ tagName, index }) => {
  return axios.request({
    url: 'getBlogByTagName',
    baseURL,
    method: 'get',
    params: {
      tagName,
      index,
      size: config.pageSize
    }
  })
}


/**
 * @description 获取单篇文章评论列表
 * @param { Number } id 文章id
 * @param { Number } index 当前页
 * @param { Number } size 页大小
 */
export const getBlogMessageById = ({ id, index }) => {
  return axios.request({
    url: 'getBlogMessageById',
    baseURL,
    method: 'get',
    params: {
      id,
      index,
      size: config.pageSize
    }
  })
}


/**
 * @description 获取单篇文章评论列表
 * @param { Number } id 文章id
 * @param { String } nickname 昵称
 * @param { String } content 内容
 */
export const comment = data => {
  return axios.request({
    url: 'comment',
    baseURL,
    method: 'post',
    data
  })
}

/**
 * @description 评论点赞
 * @param { Number } id 文章id
 */
export const likeMessage = id => {
  return axios.request({
    url: 'likeMessage',
    baseURL,
    method: 'post',
    params: {
      id
    }
  })
}